详细记录搭建完整可用的python开发环境。
安装python解释器
windows
- python官网下载windows平台的安装包 
- 打开安装包后,一路回车.(勾选添加PATH全局变量) 
Linux(cent os7)
- 安装gcc等必备程序包 - 1 - yum install -y gcc gcc-c++ make automake vim 
- 安装依赖的模块 - 1 - yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel 
- 如果是3.7以上版本,还需要安装libffi-develf,否则会找不到’_cytpe’模块 - 1 - yum install -y libffi-devel 
- 获取python3.7源码包 - 1 - wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz 
- 解压源码包 - 1 - tar -zxvf Python-3.7.2.tgz 
- 进入目录 - 1 - cd Python-3.7.2 
- 编译安装 - 1 
 2
 3- ./configure --prefix='/urs/local/python3' --with-ssl 
 make
 make install- 如果只想单个用户使用,可以把目录改为用户家目录下。安装完成后修改.bashrc文件 - 1 
 2- alins python='/home/xiaoyao/python3/bin/pip3' 
 alins pip='/home/xiaoyao/python3/bin/pip3'- 1 - source .bashrc 
- 创建软链接 - 1 
 2- ln -s /usr/local/python3/bin/python3 /usr/bin/python3 
 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
- 老规矩,hello world试试环境是否有效。
mac os
没用过,暂时不写了,有需求以后再补充。
搭建虚拟环境
很多时候同一台主机上需要开发或运行不同的python项目。这些项目可能会用到不同版本的python解释器,也可能用到同一个第三方库的不同版本。这时就需要用到虚拟环境来隔离各个项目。
常用的虚拟环境如下:
virtualenv
- 第三方包,需要手动安装 - pip install virtualenv 
- 创建[指定版本的]虚拟环境 - virtualenv [-p PythonPath] envname 
- 激活虚拟环境 - source .env/bin/activate (unix/linux) - .env/Scripts/activate (windows) 
- 查看当前环境已经安装的包 - pip freeze 
- 虚拟环境中安装第三方包 - pip install xxx 
- 退出虚拟环境 - deactivate 
virtualenvwrapper
- 第三方库,需要手动安装。 - pip install virtualenvwrapper [unix/linux] - pip install virtualenvwrapper-win [windows] 
- 基本用法 - mkvitualenv envname - decativate - workon envname - rmvirtualenv envname - lsvirtualenv - cdvirtualenv 
- 修改mkvirtualenv默认路径 - 系统环境变量 WORKON_HOME –> 路径 
- 创建指定python版本的虚拟环境 - mkvirtualenv –python==解释器路径 envname 
pipenv
- 第三方库,需要手动安装。 - pip install pipenv 
- 命令行工具,基于virtualenv和pip 
- 以项目为单位隔离python环境,进而可以使用不同的python库版本 
- 自动管理所安装python库及其依赖的其他库 
- 主要包含了Pipfile、pip、click、requests和virtualenv。Pipfile是社区拟定的依赖管理文件,用于替代过于简陋的 requirements.txt 文件。 
- 基本理念 - Pipfile 文件是 TOML 格式而不是 requirements.txt 这样的纯文本。
- 一个项目对应一个 Pipfile,支持开发环境与正式环境区分。默认提供 default 和 development 区分。
- 提供版本锁支持,存为 Pipfile.lock
 
- 原理:用Pipfile和Pipfile.lock来管理虚拟环境,两个文件共同表达了虚拟环境。 - Pipfile:记录虚拟环境的信息,尤其是python库。维护信息为主,记录有哪些库,不记录版本。 - Pipfile.lock:锁定python库版本,记录当前的开发版本 
- 使用步骤 - 创建一个文件夹,作为工程/项目的根目录 - 1 
 2- mkdir mypjt 
 cd mypjt
- 建立虚拟环境 - 1 
 2
 3- pipenv --three # 建立python3环境 
 pipenv --two # 建立python2环境
 pipenv --python 3.7 # 建立python3.7虚拟环境
- 进入虚拟环境的命令行 - 1 - pipenv shell 
- 为虚拟环境添加第三方库 - 1 - pipenv install jieba 
- 展示虚拟环境中的库依赖 - 1 - pipenv graph 
- 生成Pipfile.lock文件 - 1 - pipenv lock 
- 查看当前虚拟环境 - 1 - pipenv --venv 
- 在虚拟环境中执行程序 - 1 - pipenv run python a.py 
- 退出虚拟环境 - 1 - exit 
 
在哪里编辑&运行python代码?
- 命令行交互式窗口 repo - 在CMD或shell中输入python或python3敲回车就可以直接进入repo。 - 启动了Python解释器,但是等待你一行一行地输入源代码,每输入一行就执行一行。 - 写过的代码没法保存、修改 
- 文本编辑器+python解释器 - notepad++
- vim & emacs
- sublime text
- atom
- visual studio code
 - 将代码写入一个文件中,然后调用python解释器来运行脚本。 
- IDLE - python自带 - 同时提供交互式环境和文件式环境 - | 快捷键 | 含义 | 
 | —— | ——————————- |
 | CTRL+N | 在IDLE交互界面下,新建文件式环境 |
 | CTRL+Q | 退出IDLE |
 | ALT+3 | 注释选定文本 |
 | ALT+4 | 解除注释 |
 | ALT+Q | 格式化代码 |
 | F5 | 执行当前文件 |
- IDE - pycharm
- visual studio
- eclipse + pydev
- anaconda + spyder